#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
#define queuetype int

typedef struct QNode
{
	struct QNode* next;
	queuetype data;
}QNode;

typedef struct QPlist
{
	QNode* tail;
	QNode* head;
	int size;
}QPlist;

void Inti(QPlist* plist);
void Destroy(QPlist* plist);
bool isEmpty(QPlist* plist);
void Pushtail(QPlist* plist, queuetype x);
void Delete(QPlist* plist);
int plistsize(QPlist* plist);
queuetype plistfront(QPlist* plist);
queuetype plistback(QPlist* plist);